package com.netclass.meethealth.srv;

import com.netclass.meethealth.callback.ApplyCallBack;
import com.netclass.meethealth.callback.BoolCallBack;
import com.netclass.meethealth.callback.SportCallBack;
import com.netclass.meethealth.model.Apply;
import com.netclass.meethealth.model.Sport;

import java.util.List;

/**
 * 组团活动的接口
 * <p/>
 * Created by luodong on 15/11/22.
 * <p/>
 * update 2015/12/6
 */
public interface SportService {

    /**
     * 发布一个组团运动信息
     *
     * @param intro 活动简介
     * @param place 活动地点
     * @param limit 最多人数
     * @param delay 距离0点的时间
     * @param name  用户姓名
     * @param phone 用户手机号
     * @param plat  活动地点经度
     * @param plon  活动地点纬度
     * @param ulat  用户经度
     * @param ulon  用户纬度
     * @param bcb   结果回调
     * @return
     */
    public void publishSport(String intro, String place, int delay, int limit, String name, String phone, double plat, double plon, double ulat, double ulon, BoolCallBack bcb);


    /**
     * 删除自己发布的组团运动信息
     *
     * @param sid   组团ID
     * @param phone 用户手机号 用于验证
     * @param bcb   结果回调
     * @return
     */
    public void deleteSport(int sid, String phone, BoolCallBack bcb);


    /**
     * 查看报名信息
     *
     * @param sid   活动ID
     * @param phone 本人手机号 可为空
     * @param acb   结果回调
     * @return
     */
    public void viewApplys(int sid, String phone, ApplyCallBack acb);


    /**
     * 获取运动列表
     *
     * @param page 分页 1开始
     * @param lat  本人的坐标：经度
     * @param lon  本人的坐标：纬度
     * @param scb  结果回调
     * @return
     */
    public void listSport(int page, String phone, double lat, double lon, SportCallBack scb);


    /**
     * 报名运动
     *
     * @param sid   运动ID
     * @param name  本人姓名
     * @param phone 本人手机号
     * @param bcb   结果回调
     * @return
     */
    public void applySport(int sid, String name, String phone, BoolCallBack bcb);


    /**
     * 更新个人的报名信息
     *
     * @param aid   报名ID
     * @param name  本人姓名
     * @param phone 本人手机号
     * @param bcb   结果回调
     * @return
     */
    public void updateApplyInfo(int aid, String name, String phone, BoolCallBack bcb);


    /**
     * 删除自己的报名
     *
     * @param aid   运动ID
     * @param phone 手机号 用于验证
     * @param bcb   结果回调
     * @return
     */
    public void deleteApply(int aid, String phone, BoolCallBack bcb);
}
